package com.hps.demo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hps.demo.dto.OrderInitDTO;
import com.hps.demo.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hps.demo.vo.OrderDetailVO;
import com.hps.demo.vo.OrderInfoVO;
import com.hps.demo.vo.PageVO;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author heps
 * @since 2020-10-27
 */
public interface IOrderService extends IService<Order> {

  void initData(OrderInitDTO orderInitDTO);

  void reduceNoOrderUser(OrderInitDTO orderInitDTO);

  Page<OrderInfoVO> getOrderInfo(PageVO pageVO);

  Page<OrderInfoVO> getOrderPage(PageVO pageVO);

  Page<OrderInfoVO> getOrderPageCache(PageVO pageVO);

  List<OrderInfoVO> getOrderInfoByUserId(Long userId);

  List<OrderInfoVO> getOrderInfoSingleByUserId(Long userId);

  List<OrderInfoVO> getOrderInfoCacheByUserId(Long userId);

  Page<OrderDetailVO> getOrderDetailPage(PageVO page);
}
